/**
 * useEventListener 用于绑定事件，且能够在组件卸载的时候移除事件
 *
 *    语法：
 *
 *      useEventListener(target, eventName, cb)
 *        - target      目标 window
 *        - eventName   事件名    mouseMove
 *        - cb          callback 回调函数
 *
 */

import { onMounted, onUnmounted } from 'vue'

export default function useEventListener(target, eventName, cb) {
  // 在组件挂载完成时，做事件的绑定
  onMounted(() => {
    target.addEventListener(eventName, cb)
  })

  // 在组件卸载完成时，做事件的移除
  onUnmounted(() => {
    target.removeEventListener(eventName, cb)
  })
}
